#pragma once

#ifndef COMMAND_H_
#define COMMAND_H_

#include <string>
#include <cstdlib>
#include <iostream>
using namespace std;


// objects
class IObject
{
public:
	IObject():_status(false)
	{

	}
	virtual ~IObject()
	{

	}
	void On()
	{
		_status = true;
	}
	void Off()
	{
		_status = false;
	}

	virtual void Display() = 0;
public:
	bool _status;
};

//command object

class Command
{
public:
	Command()
	{

	}
	virtual ~Command()
	{

	}
	virtual void Execute()=0;
	virtual void Undo() = 0;
};




#endif

